import java.util.Arrays;

public class FindMostElement {
    //给定一个大小为 n 的数组，找到其中的多数元素。
    //多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。
    public static void main(String[] args) {
        int[] array = {2,2,1,1,1,2,2,3,2,4,2};
        Arrays.sort(array);
        int mostElement = findMostElement(array);
        System.out.println(mostElement);
    }
    public static int findMostElement(int[] array) {
        int str = 0;
        int dst = 0;
        int ret = 0;
        int count = 0;
        int connum = array.length / 2;
        for (int i = 0; i < array.length; i++) {
            if(array[str] == array[dst]) {
                str++;
                count++;
            }else if(count > connum){
                return array[dst];
            }else {
                dst = str;
                str++;
            }
        }
        return -1;
    }
}
